
<template>
  <div class="loginPage">
    <div class="loginName">安徽省职业技能等级认定考试系统</div>
    <div class="position">
      <span>安徽省特种设备检测院</span><span>(包河区)</span>
    </div>
    <div class="loginInput">
      <div class="accountNumber">
        <div class="title">LOGIN</div>
        <input class="loginIpt" placeholder="请输入身份证号" v-model="idcard" />
      </div>
      <div class="loginTitle" @click="login">登录</div>
    </div>
    <div class="shadow" v-if="dirlogFlag">
      <div class="darlog">
        <span class="nav">职业技能等级认定笔试考生须知</span>
        <div class="contentBox">
          <div class="title">考生须知</div>
          <span class="aside">
            <span class="title">第一条&emsp;</span>
            <span
              >考生于考前15分钟，凭本人准考证和有效身份证件进入考场，对号入考位，并将准考证及有效身份证件放在桌面左上角。进入考场后应服从监考人员管理，不得任意调换、移动考位。</span
            >
          </span>
          <br />
          <span class="aside">
            <span class="title">第二条&emsp;</span>
            <span class="content">考生按要求签署《诚信考试承诺书》。</span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第三条&emsp;</span>
            <span class="content">
              考试信号发出后方可答题。除在规定位置填涂考试信息和答题外，不得在试卷任何位置做与答题内容无关的标记；不得更换字体、字色和不同型号的书写笔答题；不得使用涂改液。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第四条&emsp;</span>
            <span class="content">
              卷面答题用黑（蓝）色钢笔（签字笔、圆珠笔）书写，字迹要工整、清楚。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第五条&emsp;</span>
            <span class="content">
              考试时只准使用书写笔、橡皮、填涂尺等应考工具。考前带入考场的通讯工具、电子记事本、涂改液、复习资料、自备草稿纸等考试时禁用的物品，必须存放在指定的位置。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第六条&emsp;</span>
            <span class="content">
              开考30分钟内可以入场，耽误的时间不予顺延；开考30分钟后不得进入考场，场内考生可以交卷出场。考试终止前15分钟，向考生预告时间。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第七条&emsp;</span>
            <span class="content">
              交卷出考场过程，不得与其他考生作语言、文字、动作等交流；出考场后不得再次进入考场，不得在考场附近逗留谈论。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第八条&emsp;</span>
            <span class="content">
              遇试卷印刷、装订、分发错误和字迹不清问题，可举手示意，待监考人员走到本考位时轻声反映。不得向监考人员询问试题题意、作答方法等问题。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第九条&emsp;</span>
            <span class="content">
              不得相互借用文具、交头接耳、传递纸条、交换试卷，不得用暗示动作交流答案，不得窥视他人的试卷、草稿纸，不得为他人提供作弊条件。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第十条&emsp;</span>
            <span class="content">
              考场内必须保持安静和清洁，禁止吸烟、吐痰、吃东西、扔纸屑、无故发出响声。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第十一条&emsp;</span>
            <span class="content">
              有特殊情况，需短时离开考场，在不出考点的前提下，由一名同性监考人员随同前往，考试时间不予补回。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第十二条&emsp;</span>
            <span class="content">
              突发疾病，经确认不能继续考试的，允许不受时间约束，离开考场就医。当场考试不予返回续考，考试成绩按考生作答部分评判。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第十三条&emsp;</span>
            <span class="content">
              考试结束信号发出后，立即停止作答，将试卷、草稿纸翻放在本桌面上，经监考人员清点无误并允许后离座出考场。严禁将试卷、草稿纸带出考场。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第十四条&emsp;</span>
            <span class="content">
              对违反本规定要求、不服从监考人员管理的考生，根据上级相关规定给予处理。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第十五条&emsp;</span>
            <span class="content">
              考生可在成绩公布之日起15个工作日内通过报名机构提交《职业技能等级认定成绩复核申请表》。复核内容及原则：（1）核对漏登、漏判、错登、错统分数的情况，不涉及评分标准和评判尺度；（2）查分原则上仅限于主观题科目，客观题科目考试（计算机读卡阅卷）仅以下两种情况可以申请查分：参加考试但分数为零分的或参加考试但反映为缺考的；（3）考生不可以任何理由查看试卷。
            </span>
          </span>
          <br />
          <br />
          <span class="title">参评人员违规行为认定与处理 </span> <br />
          <span class="aside">
            <span class="title">第一条&emsp;</span>
            <span class="content">
              参评人员有下列行为之一的，取消其当次该科目评价成绩。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(一)&emsp;</span>
            <span class="content">
              携带禁携物品（包括与评价内容相关的书籍、资料、电子产品、通讯设备及规定以外的工具等）进入座位（含考位、工位等，下同）或未将禁携物品放在指定位置，经提醒拒不改正的。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(二)&emsp;</span>
            <span class="content">
              未在规定的座位参加评价，或未经工作人员允许擅自离开座位，经提醒拒不改正的。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(三)&emsp;</span>
            <span class="content">
              在考场（或考区）禁止的范围内，喧哗、吸烟或实施其他影响考场秩序的行为，经提醒拒不改正的。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(四)&emsp;</span>
            <span class="content">其他违反考场规则但尚未构成作弊的行为。</span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(五)&emsp;</span>
            <span class="content">
              在评价过程中使用规定以外的带拍照、存储、传输或通讯功能的电子设备（如相机、手机、耳机、优盘、手提电脑、平板电脑、智能手表、智能手环等）或其他电子用品的。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(六)&emsp;</span>
            <span class="content">
              抄袭或协助他人抄袭试题答案及与评价内容相关资料等的。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(七)&emsp;</span>
            <span class="content">故意损毁试卷、工件或考试材料的。</span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(八)&emsp;</span>
            <span class="content">擅自将试题、答卷及有关资料带出考场的。</span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(九)&emsp;</span>
            <span class="content">
              存在其他作弊但对其他应试人员未造成严重干扰的行为。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第二条&emsp;</span>
            <span class="content">
              参评人员有下列行为之一的，取消其当次全部科目评价成绩。情节轻微的，2
              年内不得参加评价；情节严重的，5
              年内不得参加评价，并依据有关法律法规移送有关部门处理（含记入个人不良信息、司法机关处理等）。 
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(一)&emsp;</span>
            <span class="content">
              通过虚假承诺、虚假材料和其他非正当手段取得参加评价资格的。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(二)&emsp;</span>
            <span class="content">
              评价前以非正当手段获得试题或答案，以及进行传播的。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(三)&emsp;</span>
            <span class="content">
              抢夺、窃取他人试卷，或胁迫他人配合作弊、偷换工量器具或工件等的。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(四)&emsp;</span>
            <span class="content">
              由他人冒名顶替参加评价或替他人参加评价的。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(五)&emsp;</span>
            <span class="content">串通作弊或参与有组织作弊的。</span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(六)&emsp;</span>
            <span class="content">
              故意损毁评价设备（含视频监控系统）、材料，造成设备事故、人身伤害或设备主要零部件损坏的。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">(七)&emsp;</span>
            <span class="content">
              其他影响恶劣或严重扰乱评价管理秩序的行为。
            </span>
          </span>
          <br />
          <span class="aside">
            <span class="title">第三条&emsp;</span>
            <span class="content">
              评价活动结束后，发现参评人员违规行为并经确认的，依照本规程第五、六、七条的规定处理，对其中已颁发证书的，由评价机构宣布评价成绩无效，并报告监管部门对已发放证书、已上网证书数据及时作出相应处理。
            </span>
          </span>
          <br />
          <br />
          <span>
            <el-checkbox v-model="checked" @change="changeHandle"
              >我已阅读并同意</el-checkbox
            >
          </span>
        </div>
        <div class="footer" v-if="remainingTime > 0">
          <div>考试开始还剩{{ hours }}时{{ minutes }}分{{ seconds }}秒</div>
        </div>
        <div class="startText" v-else @click="startText">
          <el-button type="primary">点击开始考试</el-button>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
import $api from "../utils/api.js";
import $Toast from "../utils/toast.js";
import { Toast } from "vant";
export default {
  data() {
    return {
      idcard: "",
      dirlogFlag: false,
      checked: false,
      futureTimestamp: "",
      userTextInfo: null,
      days: "00",
      hours: "00",
      minutes: "00",
      seconds: "00",
      remainingTime: null,
    };
  },
  methods: {
    login() {
      localStorage.setItem("idcard", this.idcard);
      const password = this.idcard;
      const regex =
        /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/;
      const isValid = regex.test(password);
      if (isValid) {
        $api
          .stuLogin({
            idcard: password,
          })
          .then((res) => {
            // console.log(res);
            if (res.status == 200 && res.data.code !== 500) {
              localStorage.setItem(
                "userTextInfo",
                JSON.stringify(res.data.data)
              );
              if (res.data.data.ahExaminee?.readExaminationNotes == "0") {
                this.checked = true;
              }
              this.userTextInfo = res.data.data;
              Toast.success("身份验证通过！");
              this.dirlogFlag = true;
              let futureDateTime = new Date(res.data.data.session.startTime);
              this.futureTimestamp = futureDateTime.getTime();
              this.countDown();
            }
            if (res.status == 200 && res.data.code == 500) {
              $Toast.errNotification(res.data.msg);
              this.idcard == "";
            }
          });
      } else {
        $Toast.errNotification("身份验证失败，请输入正确的身份证号码！");
        this.idcard == "";
      }
    },
    //计算考试倒计时
    countDown() {
      var countdownInterval = setInterval(() => {
        // 获取当前时间的时间戳（毫秒）
        var nowTimestamp = new Date().getTime();
        // 计算剩余时间（毫秒）
        var remainingTime = this.futureTimestamp - nowTimestamp;
        this.remainingTime = remainingTime;
        // 如果时间已过，则停止倒计时
        if (remainingTime <= 0 && this.checked == true) {
          clearInterval(countdownInterval);
          return;
        }
        // 计算剩余的天数、小时、分钟和秒
        this.days = Math.floor(remainingTime / (1000 * 60 * 60 * 24));
        this.hours = Math.floor(
          (remainingTime % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)
        );
        this.minutes = Math.floor(
          (remainingTime % (1000 * 60 * 60)) / (1000 * 60)
        );
        this.seconds = Math.floor((remainingTime % (1000 * 60)) / 1000);
        // 1000毫秒（1秒）后再次调用countdown函数
      }, 1000);
    },

    changeHandle(e) {},
    startText() {
      if (this.checked) {
        let data = {
          id: this.userTextInfo.ahExaminee.id,
        };
        $api.haveRead(data).then((res) => {});
        if (this.userTextInfo.ahExaminee) {
          $api.startTest(this.userTextInfo.ahExaminee).then((res) => {});
        }
        this.$router.push({
          name: "examination",
          query: {
            userTextInfo: this.userTextInfo,
            isFullscreen: true,
          },
        });
        let de = document.documentElement;
        if (de.requestFullscreen) {
          de.requestFullscreen();
        } else if (de.mozRequestFullScreen) {
          de.mozRequestFullScreen();
        } else if (de.webkitRequestFullScreen) {
          de.webkitRequestFullScreen();
        }
      } else {
        this.$alert("请阅读并同意考生须知！", "提示", {
          confirmButtonText: "确定",
        });
      }
    },
  },
};
import "@/views/login/login.scss";
</script>